<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Strict//EN"><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="en-us">
<title>API Functions</title>
<link rel="stylesheet" type="text/css" href="../../helpFiles/style.css">
</head>
<body><div align="center"><table class="allEncompassingTable"><tr><td>
<h1>BlueZero Plugin API reference</h1>
<p class="infoBox">BlueZero plugin</p>
<h3 class="subsectionBar">
<a name="getHandles" id="getHandles"></a>simB0.getHandles</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Return a list of active handles</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">table handles=simB0.getHandles()<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam">-</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet"><div>
<strong>handles</strong> (table of string): list of handles.</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"></td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="nodeCleanup" id="nodeCleanup"></a>simB0.nodeCleanup</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Cleanup a node.</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">simB0.nodeCleanup(string handle)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam"><div>
<strong>handle</strong> (string): node handle</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet">-</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"> <a href="#nodeCreate">simB0.nodeCreate</a> <a href="#nodeDestroy">simB0.nodeDestroy</a> <a href="#nodeInit">simB0.nodeInit</a> <a href="#nodeSetAnnounceTimeout">simB0.nodeSetAnnounceTimeout</a> <a href="#nodeSpinOnce">simB0.nodeSpinOnce</a>
</td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="nodeCreate" id="nodeCreate"></a>simB0.nodeCreate</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Create a new node.</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">string handle=simB0.nodeCreate(string name)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam"><div>
<strong>name</strong> (string): name of the node (will be changed if not unique during initialization)</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet"><div>
<strong>handle</strong> (string): a handle to the new node</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"> <a href="#nodeCleanup">simB0.nodeCleanup</a> <a href="#nodeDestroy">simB0.nodeDestroy</a> <a href="#nodeInit">simB0.nodeInit</a> <a href="#nodeSetAnnounceTimeout">simB0.nodeSetAnnounceTimeout</a> <a href="#nodeSpinOnce">simB0.nodeSpinOnce</a>
</td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="nodeDestroy" id="nodeDestroy"></a>simB0.nodeDestroy</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Destroy a node.</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">simB0.nodeDestroy(string handle)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam"><div>
<strong>handle</strong> (string): node handle</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet">-</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"> <a href="#nodeCleanup">simB0.nodeCleanup</a> <a href="#nodeCreate">simB0.nodeCreate</a> <a href="#nodeInit">simB0.nodeInit</a> <a href="#nodeSetAnnounceTimeout">simB0.nodeSetAnnounceTimeout</a> <a href="#nodeSpinOnce">simB0.nodeSpinOnce</a>
</td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="nodeInit" id="nodeInit"></a>simB0.nodeInit</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Initialize a node.</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">string name=simB0.nodeInit(string handle)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam"><div>
<strong>handle</strong> (string): node handle</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet"><div>
<strong>name</strong> (string): final name of the node as assigned from resolver node</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"> <a href="#nodeCleanup">simB0.nodeCleanup</a> <a href="#nodeCreate">simB0.nodeCreate</a> <a href="#nodeDestroy">simB0.nodeDestroy</a> <a href="#nodeSetAnnounceTimeout">simB0.nodeSetAnnounceTimeout</a> <a href="#nodeSpinOnce">simB0.nodeSpinOnce</a>
</td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="nodeSetAnnounceTimeout" id="nodeSetAnnounceTimeout"></a>simB0.nodeSetAnnounceTimeout</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Set the announceNode timeout.</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">simB0.nodeSetAnnounceTimeout(string handle, int timeout)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam">
<div>
<strong>handle</strong> (string): node handle</div>
<div>
<strong>timeout</strong> (int): timeout in milliseconds, or -1 for no timeout</div>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet">-</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"> <a href="#nodeCleanup">simB0.nodeCleanup</a> <a href="#nodeCreate">simB0.nodeCreate</a> <a href="#nodeDestroy">simB0.nodeDestroy</a> <a href="#nodeInit">simB0.nodeInit</a> <a href="#nodeSpinOnce">simB0.nodeSpinOnce</a>
</td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="nodeSpinOnce" id="nodeSpinOnce"></a>simB0.nodeSpinOnce</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Spin a node.</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">simB0.nodeSpinOnce(string handle)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam"><div>
<strong>handle</strong> (string): node handle</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet">-</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"> <a href="#nodeCleanup">simB0.nodeCleanup</a> <a href="#nodeCreate">simB0.nodeCreate</a> <a href="#nodeDestroy">simB0.nodeDestroy</a> <a href="#nodeInit">simB0.nodeInit</a> <a href="#nodeSetAnnounceTimeout">simB0.nodeSetAnnounceTimeout</a>
</td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="pingResolver" id="pingResolver"></a>simB0.pingResolver</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Check if resolver node is reachable</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">simB0.pingResolver()<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam">-</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet">-</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"></td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="publisherCreate" id="publisherCreate"></a>simB0.publisherCreate</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Create a new publisher.</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">string handle=simB0.publisherCreate(string nodeHandle, string topic, bool managed=true, bool notifyGraph=true)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam">
<div>
<strong>nodeHandle</strong> (string): node handle</div>
<div>
<strong>topic</strong> (string): topic name</div>
<div>
<strong>managed</strong> (bool, default: true): managed flag</div>
<div>
<strong>notifyGraph</strong> (bool, default: true): notify graph flag</div>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet"><div>
<strong>handle</strong> (string): a handle to the new publisher</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"> <a href="#publisherDestroy">simB0.publisherDestroy</a> <a href="#publisherPublish">simB0.publisherPublish</a> <a href="#socketCleanup">simB0.socketCleanup</a> <a href="#socketInit">simB0.socketInit</a> <a href="#socketPoll">simB0.socketPoll</a> <a href="#socketRead">simB0.socketRead</a> <a href="#socketSetCompression">simB0.socketSetCompression</a> <a href="#socketSpinOnce">simB0.socketSpinOnce</a> <a href="#socketWrite">simB0.socketWrite</a> <a href="#subscriberCreate">simB0.subscriberCreate</a> <a href="#subscriberDestroy">simB0.subscriberDestroy</a>
</td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="publisherDestroy" id="publisherDestroy"></a>simB0.publisherDestroy</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Destroy a publisher.</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">simB0.publisherDestroy(string handle)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam"><div>
<strong>handle</strong> (string): publisher handle</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet">-</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"> <a href="#publisherCreate">simB0.publisherCreate</a> <a href="#publisherPublish">simB0.publisherPublish</a> <a href="#socketCleanup">simB0.socketCleanup</a> <a href="#socketInit">simB0.socketInit</a> <a href="#socketPoll">simB0.socketPoll</a> <a href="#socketRead">simB0.socketRead</a> <a href="#socketSetCompression">simB0.socketSetCompression</a> <a href="#socketSpinOnce">simB0.socketSpinOnce</a> <a href="#socketWrite">simB0.socketWrite</a> <a href="#subscriberCreate">simB0.subscriberCreate</a> <a href="#subscriberDestroy">simB0.subscriberDestroy</a>
</td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="publisherPublish" id="publisherPublish"></a>simB0.publisherPublish</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Publish some data.</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">simB0.publisherPublish(string handle, string payload)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam">
<div>
<strong>handle</strong> (string): publisher handle</div>
<div>
<strong>payload</strong> (string): message payload</div>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet">-</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"> <a href="#publisherCreate">simB0.publisherCreate</a> <a href="#publisherDestroy">simB0.publisherDestroy</a> <a href="#socketCleanup">simB0.socketCleanup</a> <a href="#socketInit">simB0.socketInit</a> <a href="#socketPoll">simB0.socketPoll</a> <a href="#socketRead">simB0.socketRead</a> <a href="#socketSetCompression">simB0.socketSetCompression</a> <a href="#socketSpinOnce">simB0.socketSpinOnce</a> <a href="#socketWrite">simB0.socketWrite</a> <a href="#subscriberCreate">simB0.subscriberCreate</a> <a href="#subscriberDestroy">simB0.subscriberDestroy</a>
</td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="serviceClientCall" id="serviceClientCall"></a>simB0.serviceClientCall</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Call a service.</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">string payload=simB0.serviceClientCall(string handle, string payload)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam">
<div>
<strong>handle</strong> (string): service client handle</div>
<div>
<strong>payload</strong> (string): request payload</div>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet"><div>
<strong>payload</strong> (string): response payload</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"> <a href="#serviceClientCreate">simB0.serviceClientCreate</a> <a href="#serviceClientDestroy">simB0.serviceClientDestroy</a> <a href="#serviceServerCreate">simB0.serviceServerCreate</a> <a href="#serviceServerDestroy">simB0.serviceServerDestroy</a> <a href="#socketInit">simB0.socketInit</a> <a href="#socketPoll">simB0.socketPoll</a> <a href="#socketRead">simB0.socketRead</a> <a href="#socketSetCompression">simB0.socketSetCompression</a> <a href="#socketSpinOnce">simB0.socketSpinOnce</a> <a href="#socketWrite">simB0.socketWrite</a>
</td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="serviceClientCreate" id="serviceClientCreate"></a>simB0.serviceClientCreate</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Create a new service client.</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">string handle=simB0.serviceClientCreate(string nodeHandle, string service, bool managed=true, bool notifyGraph=true)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam">
<div>
<strong>nodeHandle</strong> (string): node handle</div>
<div>
<strong>service</strong> (string): service name</div>
<div>
<strong>managed</strong> (bool, default: true): managed flag</div>
<div>
<strong>notifyGraph</strong> (bool, default: true): notify graph flag</div>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet"><div>
<strong>handle</strong> (string): a handle to the new service client</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"> <a href="#serviceClientCall">simB0.serviceClientCall</a> <a href="#serviceClientDestroy">simB0.serviceClientDestroy</a> <a href="#serviceServerCreate">simB0.serviceServerCreate</a> <a href="#serviceServerDestroy">simB0.serviceServerDestroy</a> <a href="#socketInit">simB0.socketInit</a> <a href="#socketPoll">simB0.socketPoll</a> <a href="#socketRead">simB0.socketRead</a> <a href="#socketSetCompression">simB0.socketSetCompression</a> <a href="#socketSpinOnce">simB0.socketSpinOnce</a> <a href="#socketWrite">simB0.socketWrite</a>
</td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="serviceClientDestroy" id="serviceClientDestroy"></a>simB0.serviceClientDestroy</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Destroy a service client.</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">simB0.serviceClientDestroy(string handle)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam"><div>
<strong>handle</strong> (string): service client handle</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet">-</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"> <a href="#serviceClientCall">simB0.serviceClientCall</a> <a href="#serviceClientCreate">simB0.serviceClientCreate</a> <a href="#serviceServerCreate">simB0.serviceServerCreate</a> <a href="#serviceServerDestroy">simB0.serviceServerDestroy</a> <a href="#socketInit">simB0.socketInit</a> <a href="#socketPoll">simB0.socketPoll</a> <a href="#socketRead">simB0.socketRead</a> <a href="#socketSetCompression">simB0.socketSetCompression</a> <a href="#socketSpinOnce">simB0.socketSpinOnce</a> <a href="#socketWrite">simB0.socketWrite</a>
</td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="serviceServerCreate" id="serviceServerCreate"></a>simB0.serviceServerCreate</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Create a new service server.</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">string handle=simB0.serviceServerCreate(string nodeHandle, string service, string callback=, bool managed=true, bool notifyGraph=true)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam">
<div>
<strong>nodeHandle</strong> (string): node handle</div>
<div>
<strong>service</strong> (string): service name</div>
<div>
<strong>callback</strong> (string, default: ): lua calback to call when a request is received</div>
<div>
<strong>managed</strong> (bool, default: true): managed flag</div>
<div>
<strong>notifyGraph</strong> (bool, default: true): notify graph flag</div>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet"><div>
<strong>handle</strong> (string): a handle to the new service server</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"> <a href="#serviceClientCall">simB0.serviceClientCall</a> <a href="#serviceClientCreate">simB0.serviceClientCreate</a> <a href="#serviceClientDestroy">simB0.serviceClientDestroy</a> <a href="#serviceServerDestroy">simB0.serviceServerDestroy</a> <a href="#socketInit">simB0.socketInit</a> <a href="#socketPoll">simB0.socketPoll</a> <a href="#socketRead">simB0.socketRead</a> <a href="#socketSetCompression">simB0.socketSetCompression</a> <a href="#socketSpinOnce">simB0.socketSpinOnce</a> <a href="#socketWrite">simB0.socketWrite</a>
</td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="serviceServerDestroy" id="serviceServerDestroy"></a>simB0.serviceServerDestroy</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Destroy a service server.</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">simB0.serviceServerDestroy(string handle)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam"><div>
<strong>handle</strong> (string): service server handle</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet">-</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"> <a href="#serviceClientCall">simB0.serviceClientCall</a> <a href="#serviceClientCreate">simB0.serviceClientCreate</a> <a href="#serviceClientDestroy">simB0.serviceClientDestroy</a> <a href="#serviceServerCreate">simB0.serviceServerCreate</a> <a href="#socketInit">simB0.socketInit</a> <a href="#socketPoll">simB0.socketPoll</a> <a href="#socketRead">simB0.socketRead</a> <a href="#socketSetCompression">simB0.socketSetCompression</a> <a href="#socketSpinOnce">simB0.socketSpinOnce</a> <a href="#socketWrite">simB0.socketWrite</a>
</td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="socketCleanup" id="socketCleanup"></a>simB0.socketCleanup</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Cleanup a socket (only needed for unmanaged sockets).</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">simB0.socketCleanup(string handle)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam"><div>
<strong>handle</strong> (string): socket handle</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet">-</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"> <a href="#publisherCreate">simB0.publisherCreate</a> <a href="#publisherDestroy">simB0.publisherDestroy</a> <a href="#publisherPublish">simB0.publisherPublish</a> <a href="#socketInit">simB0.socketInit</a> <a href="#socketPoll">simB0.socketPoll</a> <a href="#socketRead">simB0.socketRead</a> <a href="#socketSetCompression">simB0.socketSetCompression</a> <a href="#socketSpinOnce">simB0.socketSpinOnce</a> <a href="#socketWrite">simB0.socketWrite</a> <a href="#subscriberCreate">simB0.subscriberCreate</a> <a href="#subscriberDestroy">simB0.subscriberDestroy</a>
</td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="socketInit" id="socketInit"></a>simB0.socketInit</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Initialize a socket (only needed for unmanaged sockets).</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">simB0.socketInit(string handle)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam"><div>
<strong>handle</strong> (string): socket handle</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet">-</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"> <a href="#publisherCreate">simB0.publisherCreate</a> <a href="#publisherDestroy">simB0.publisherDestroy</a> <a href="#publisherPublish">simB0.publisherPublish</a> <a href="#socketCleanup">simB0.socketCleanup</a> <a href="#socketPoll">simB0.socketPoll</a> <a href="#socketRead">simB0.socketRead</a> <a href="#socketSetCompression">simB0.socketSetCompression</a> <a href="#socketSpinOnce">simB0.socketSpinOnce</a> <a href="#socketWrite">simB0.socketWrite</a> <a href="#subscriberCreate">simB0.subscriberCreate</a> <a href="#subscriberDestroy">simB0.subscriberDestroy</a> <a href="#serviceClientCall">simB0.serviceClientCall</a> <a href="#serviceClientCreate">simB0.serviceClientCreate</a> <a href="#serviceClientDestroy">simB0.serviceClientDestroy</a> <a href="#serviceServerCreate">simB0.serviceServerCreate</a> <a href="#serviceServerDestroy">simB0.serviceServerDestroy</a> <a href="#socketPoll">simB0.socketPoll</a> <a href="#socketRead">simB0.socketRead</a> <a href="#socketSetCompression">simB0.socketSetCompression</a> <a href="#socketSpinOnce">simB0.socketSpinOnce</a> <a href="#socketWrite">simB0.socketWrite</a>
</td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="socketPoll" id="socketPoll"></a>simB0.socketPoll</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Poll a socket (only needed for unmanaged sockets).</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">bool result=simB0.socketPoll(string handle)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam"><div>
<strong>handle</strong> (string): socket handle</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet"><div>
<strong>result</strong> (bool): poll result</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"> <a href="#publisherCreate">simB0.publisherCreate</a> <a href="#publisherDestroy">simB0.publisherDestroy</a> <a href="#publisherPublish">simB0.publisherPublish</a> <a href="#socketCleanup">simB0.socketCleanup</a> <a href="#socketInit">simB0.socketInit</a> <a href="#socketRead">simB0.socketRead</a> <a href="#socketSetCompression">simB0.socketSetCompression</a> <a href="#socketSpinOnce">simB0.socketSpinOnce</a> <a href="#socketWrite">simB0.socketWrite</a> <a href="#subscriberCreate">simB0.subscriberCreate</a> <a href="#subscriberDestroy">simB0.subscriberDestroy</a> <a href="#serviceClientCall">simB0.serviceClientCall</a> <a href="#serviceClientCreate">simB0.serviceClientCreate</a> <a href="#serviceClientDestroy">simB0.serviceClientDestroy</a> <a href="#serviceServerCreate">simB0.serviceServerCreate</a> <a href="#serviceServerDestroy">simB0.serviceServerDestroy</a> <a href="#socketInit">simB0.socketInit</a> <a href="#socketRead">simB0.socketRead</a> <a href="#socketSetCompression">simB0.socketSetCompression</a> <a href="#socketSpinOnce">simB0.socketSpinOnce</a> <a href="#socketWrite">simB0.socketWrite</a>
</td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="socketRead" id="socketRead"></a>simB0.socketRead</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Read from a socket (only needed for unmanaged sockets).</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">string payload=simB0.socketRead(string handle)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam"><div>
<strong>handle</strong> (string): socket handle</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet"><div>
<strong>payload</strong> (string): message payload</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"> <a href="#publisherCreate">simB0.publisherCreate</a> <a href="#publisherDestroy">simB0.publisherDestroy</a> <a href="#publisherPublish">simB0.publisherPublish</a> <a href="#socketCleanup">simB0.socketCleanup</a> <a href="#socketInit">simB0.socketInit</a> <a href="#socketPoll">simB0.socketPoll</a> <a href="#socketSetCompression">simB0.socketSetCompression</a> <a href="#socketSpinOnce">simB0.socketSpinOnce</a> <a href="#socketWrite">simB0.socketWrite</a> <a href="#subscriberCreate">simB0.subscriberCreate</a> <a href="#subscriberDestroy">simB0.subscriberDestroy</a> <a href="#serviceClientCall">simB0.serviceClientCall</a> <a href="#serviceClientCreate">simB0.serviceClientCreate</a> <a href="#serviceClientDestroy">simB0.serviceClientDestroy</a> <a href="#serviceServerCreate">simB0.serviceServerCreate</a> <a href="#serviceServerDestroy">simB0.serviceServerDestroy</a> <a href="#socketInit">simB0.socketInit</a> <a href="#socketPoll">simB0.socketPoll</a> <a href="#socketSetCompression">simB0.socketSetCompression</a> <a href="#socketSpinOnce">simB0.socketSpinOnce</a> <a href="#socketWrite">simB0.socketWrite</a>
</td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="socketSetCompression" id="socketSetCompression"></a>simB0.socketSetCompression</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Set compression for the specified socket.</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">simB0.socketSetCompression(string handle, string compressionAlgorithm, int compressionLevel=-1)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam">
<div>
<strong>handle</strong> (string): socket handle</div>
<div>
<strong>compressionAlgorithm</strong> (string): compression algorithm to use. an empty string will disable compression.</div>
<div>
<strong>compressionLevel</strong> (int, default: -1): compression level (-1 will use default level)</div>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet">-</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"> <a href="#publisherCreate">simB0.publisherCreate</a> <a href="#publisherDestroy">simB0.publisherDestroy</a> <a href="#publisherPublish">simB0.publisherPublish</a> <a href="#socketCleanup">simB0.socketCleanup</a> <a href="#socketInit">simB0.socketInit</a> <a href="#socketPoll">simB0.socketPoll</a> <a href="#socketRead">simB0.socketRead</a> <a href="#socketSpinOnce">simB0.socketSpinOnce</a> <a href="#socketWrite">simB0.socketWrite</a> <a href="#subscriberCreate">simB0.subscriberCreate</a> <a href="#subscriberDestroy">simB0.subscriberDestroy</a> <a href="#serviceClientCall">simB0.serviceClientCall</a> <a href="#serviceClientCreate">simB0.serviceClientCreate</a> <a href="#serviceClientDestroy">simB0.serviceClientDestroy</a> <a href="#serviceServerCreate">simB0.serviceServerCreate</a> <a href="#serviceServerDestroy">simB0.serviceServerDestroy</a> <a href="#socketInit">simB0.socketInit</a> <a href="#socketPoll">simB0.socketPoll</a> <a href="#socketRead">simB0.socketRead</a> <a href="#socketSpinOnce">simB0.socketSpinOnce</a> <a href="#socketWrite">simB0.socketWrite</a>
</td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="socketSetOption" id="socketSetOption"></a>simB0.socketSetOption</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Set a low-level socket option. Available options:
            <ul>
                <li>lingerPeriod</li>
                <li>backlog</li>
                <li>readTimeout</li>
                <li>writeTimeout</li>
                <li>immediate</li>
                <li>conflate</li>
                <li>readHWM</li>
                <li>writeHWM</li>
            </ul>
        </td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">simB0.socketSetOption(string handle, string option, int value)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam">
<div>
<strong>handle</strong> (string): socket handle</div>
<div>
<strong>option</strong> (string): option key.</div>
<div>
<strong>value</strong> (int): option value.</div>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet">-</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"></td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="socketSpinOnce" id="socketSpinOnce"></a>simB0.socketSpinOnce</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Spin a socket (only needed for unmanaged sockets).</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">simB0.socketSpinOnce(string handle)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam"><div>
<strong>handle</strong> (string): socket handle</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet">-</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"> <a href="#publisherCreate">simB0.publisherCreate</a> <a href="#publisherDestroy">simB0.publisherDestroy</a> <a href="#publisherPublish">simB0.publisherPublish</a> <a href="#socketCleanup">simB0.socketCleanup</a> <a href="#socketInit">simB0.socketInit</a> <a href="#socketPoll">simB0.socketPoll</a> <a href="#socketRead">simB0.socketRead</a> <a href="#socketSetCompression">simB0.socketSetCompression</a> <a href="#socketWrite">simB0.socketWrite</a> <a href="#subscriberCreate">simB0.subscriberCreate</a> <a href="#subscriberDestroy">simB0.subscriberDestroy</a> <a href="#serviceClientCall">simB0.serviceClientCall</a> <a href="#serviceClientCreate">simB0.serviceClientCreate</a> <a href="#serviceClientDestroy">simB0.serviceClientDestroy</a> <a href="#serviceServerCreate">simB0.serviceServerCreate</a> <a href="#serviceServerDestroy">simB0.serviceServerDestroy</a> <a href="#socketInit">simB0.socketInit</a> <a href="#socketPoll">simB0.socketPoll</a> <a href="#socketRead">simB0.socketRead</a> <a href="#socketSetCompression">simB0.socketSetCompression</a> <a href="#socketWrite">simB0.socketWrite</a>
</td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="socketWrite" id="socketWrite"></a>simB0.socketWrite</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Write to a socket (only needed for unmanaged sockets).</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">simB0.socketWrite(string handle, string payload)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam">
<div>
<strong>handle</strong> (string): socket handle</div>
<div>
<strong>payload</strong> (string): message payload</div>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet">-</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"> <a href="#publisherCreate">simB0.publisherCreate</a> <a href="#publisherDestroy">simB0.publisherDestroy</a> <a href="#publisherPublish">simB0.publisherPublish</a> <a href="#socketCleanup">simB0.socketCleanup</a> <a href="#socketInit">simB0.socketInit</a> <a href="#socketPoll">simB0.socketPoll</a> <a href="#socketRead">simB0.socketRead</a> <a href="#socketSetCompression">simB0.socketSetCompression</a> <a href="#socketSpinOnce">simB0.socketSpinOnce</a> <a href="#subscriberCreate">simB0.subscriberCreate</a> <a href="#subscriberDestroy">simB0.subscriberDestroy</a> <a href="#serviceClientCall">simB0.serviceClientCall</a> <a href="#serviceClientCreate">simB0.serviceClientCreate</a> <a href="#serviceClientDestroy">simB0.serviceClientDestroy</a> <a href="#serviceServerCreate">simB0.serviceServerCreate</a> <a href="#serviceServerDestroy">simB0.serviceServerDestroy</a> <a href="#socketInit">simB0.socketInit</a> <a href="#socketPoll">simB0.socketPoll</a> <a href="#socketRead">simB0.socketRead</a> <a href="#socketSetCompression">simB0.socketSetCompression</a> <a href="#socketSpinOnce">simB0.socketSpinOnce</a>
</td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="spin" id="spin"></a>simB0.spin</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Call nodeSpinOnce() continuously</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">simB0.spin(string handle)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam"><div>
<strong>handle</strong> (string): the node handle</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet">-</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"></td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="subscriberCreate" id="subscriberCreate"></a>simB0.subscriberCreate</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Create a new subscriber.</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">string handle=simB0.subscriberCreate(string nodeHandle, string topic, string callback=, bool managed=true, bool notifyGraph=true)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam">
<div>
<strong>nodeHandle</strong> (string): node handle</div>
<div>
<strong>topic</strong> (string): topic name</div>
<div>
<strong>callback</strong> (string, default: ): lua calback to call when a message is received</div>
<div>
<strong>managed</strong> (bool, default: true): managed flag</div>
<div>
<strong>notifyGraph</strong> (bool, default: true): notify graph flag</div>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet"><div>
<strong>handle</strong> (string): a handle to the new subscriber</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"> <a href="#publisherCreate">simB0.publisherCreate</a> <a href="#publisherDestroy">simB0.publisherDestroy</a> <a href="#publisherPublish">simB0.publisherPublish</a> <a href="#socketCleanup">simB0.socketCleanup</a> <a href="#socketInit">simB0.socketInit</a> <a href="#socketPoll">simB0.socketPoll</a> <a href="#socketRead">simB0.socketRead</a> <a href="#socketSetCompression">simB0.socketSetCompression</a> <a href="#socketSpinOnce">simB0.socketSpinOnce</a> <a href="#socketWrite">simB0.socketWrite</a> <a href="#subscriberDestroy">simB0.subscriberDestroy</a>
</td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="subscriberDestroy" id="subscriberDestroy"></a>simB0.subscriberDestroy</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Destroy a subscriber.</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">simB0.subscriberDestroy(string handle)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam"><div>
<strong>handle</strong> (string): subscriber handle</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet">-</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"> <a href="#publisherCreate">simB0.publisherCreate</a> <a href="#publisherDestroy">simB0.publisherDestroy</a> <a href="#publisherPublish">simB0.publisherPublish</a> <a href="#socketCleanup">simB0.socketCleanup</a> <a href="#socketInit">simB0.socketInit</a> <a href="#socketPoll">simB0.socketPoll</a> <a href="#socketRead">simB0.socketRead</a> <a href="#socketSetCompression">simB0.socketSetCompression</a> <a href="#socketSpinOnce">simB0.socketSpinOnce</a> <a href="#socketWrite">simB0.socketWrite</a> <a href="#subscriberCreate">simB0.subscriberCreate</a>
</td>
</tr>
</table>
<br><br><br><h1>Script functions</h1>
<p>Script functions are used to call some lua code from the plugin side (tipically used for event handlers).</p>
<h3 class="subsectionBar">
<a name="scriptfun:topicCallback" id="scriptfun:topicCallback"></a>topicCallback</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Callback for a subscriber.</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">simB0.topicCallback(string payload)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam"><div>
<strong>payload</strong> (string): raw payload</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet">-</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"></td>
</tr>
</table>
<br><h3 class="subsectionBar">
<a name="scriptfun:serviceCallback" id="scriptfun:serviceCallback"></a>serviceCallback</h3>
<table class="apiTable">
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    Description
                                                </td>
<td class="apiTableRightDescr">Callback for a service server.</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLSyn">Lua synopsis</td>
<td class="apiTableRightLSyn">string payload=simB0.serviceCallback(string payload)<br>
</td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLParam">Lua parameters</td>
<td class="apiTableRightLParam"><div>
<strong>payload</strong> (string): raw request payload</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftLRet">Lua return values</td>
<td class="apiTableRightLRet"><div>
<strong>payload</strong> (string): raw response payload</div></td>
</tr>
<tr class="apiTableTr">
<td class="apiTableLeftDescr">
                                                    See also
                                                </td>
<td class="apiTableRightDescr"></td>
</tr>
</table>
<br>
</td></tr></table></div></body>
</html>
